def listsum(numList):
    if len(numList) == 1:
        return numList[0]
    else:
        return numList[0] + listsum(numList[1:])

def listsum2(total, numList):
    if len(numList) == 0:
        return total
    elif  len(numList) == 1:
        return total + numList[0]

    return listsum2(total+numList[0], numList[1:])

import sys
sys.setrecursionlimit(15000000000000000)

if __name__ == "__main__":
    l = list(range(10000000000))
    #print reduce(lambda x,y: x + y, l)
    print listsum2(0, l)